#include <iostream>
// #include <string>
#include <algorithm>
#include <vector>
using namespace std;

// vector 容器存放内置数据类型

void myPrint(const  int val)
{
    cout << val << " ";
}


void test01()
{
    // 创建了一个 vector 容器，数组
    vector<int> v;
    //
    // 向容器中插入数据
    v.push_back(10);
    v.push_back(20);
    v.push_back(30);
    v.push_back(40); 
    v.push_back(50);

    // 通过迭代器访问容器中的数据
    // vector<int>::iterator itBegin = v.begin();  // 起始迭代器 指向容器中第一个元素
    // vector<int>::iterator itEnd   = v.end();    // 结束迭代器 指向容器中最后一个元素的下一个位置

    // // 第一种遍历方式
    // while (itBegin != itEnd) {
    //     cout << *itBegin << " ";
    //     itBegin++;
    // }
    // cout << endl;


    // 第二种遍历方式
    for (const int & it : v) {
        cout << it << " ";
    }
    cout << endl;
    // 第三种方法
    for (const int i : v) {
        cout << i << " ";
    }
    cout << endl;
    // 第四种方法
    for (const int & it : v) {
        cout << it << " ";
    }
    cout << endl;

    for_each(v.begin(), v.end(), myPrint);
    cout << endl;
    for (const auto it:v) {cout << it << " ";}
    // cout << endl;
}

int main()
{
    test01();
    return 0;
}